home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / sbin / defoma-reconfigure < prev    next >
Text File  |  2006-06-17  |  1KB  |  59 lines

  1. #! /bin/sh
  2. # Error handling greatly improved by Peter Moulder
  3. # <pmoulder@mail.csse.monash.edu.au> 2003-03-02, in an attempt to
  4. # avoid trashing his system again..
  5.  
  6. set -e
  7.  
  8. OPTION="$1"
  9.  
  10. if [ "X$OPTION" = "X-f" ]; then
  11.   rm -fr /var/lib/defoma/locked
  12. fi
  13.  
  14. if ! ln -s locknow /var/lib/defoma/locked > /dev/null 2>&1; then
  15.   echo "Error: /var/lib/defoma/locked exists." >&2
  16.   echo "Another defoma process seems running, or you aren't root." >&2
  17.   echo "If you are root and defoma process isn't running undoubtedly," >&2
  18.   echo "it is possible that defoma might have aborted." >&2
  19.   echo "Please run defoma-reconfigure -f to fix its broken status." >&2
  20.   exit 1
  21. else
  22.   rm -fr /var/lib/defoma/locked
  23. fi
  24.  
  25. DELETES="postscript pspreview psprint x-postscript xfont"
  26.  
  27. if ! cd /var/lib/defoma ; then
  28.   echo "failed to chdir /var/lib/defoma."
  29.   exit 1
  30. fi
  31.  
  32. DIRS=""
  33. for i in *.d; do
  34.   test "X$i" = "X*.d" && exit 0
  35.   if cd "$i"; then
  36.     DIRS="$DIRS $i"
  37.     find \( -type f -o -type l \) -print0 | xargs -0r rm -f
  38.     cd /var/lib/defoma
  39.   fi
  40. done
  41.  
  42. for i in $DELETES; do
  43.   [ -f $i.font-cache ] && rm -f $i.font-cache
  44.   [ -f $i.failed-font-cache ] && rm -f $i.failed-font-cache
  45. done
  46.  
  47. rm -fr *.subst-cache
  48.  
  49. rc=0
  50. for i in $DIRS; do
  51.   APP=${i%%.d}
  52.   if ! defoma-app update $APP; then
  53.     echo "$0: \`defoma-app update $APP' failed ($?)." >&2
  54.     rc=1
  55.   fi
  56. done
  57.  
  58. exit $rc
  59.